/**
 * Intermediate value模型ConfigurationFile（自动Generate）
 * 
 * Generate时间: 2025-10-13 21:03:39
 * Algorithm: Dilithium-2
 * 模型: Modular Reduction
 */

#ifndef INTERMEDIATE_CONFIG_H
#define INTERMEDIATE_CONFIG_H

#include <stdint.h>

// ========================================================================
// BasicConfiguration
// ========================================================================

#define ALGORITHM_NAME "Dilithium-2"
#define MODEL_NAME "Modular Reduction"
#define NUM_TRACES 10
#define TRACE_DELAY_US 500000

// ========================================================================
// AlgorithmAnd模型选择
// ========================================================================

// Algorithm选择（只能定义一个）
#define ALGORITHM_DILITHIUM

// 模型选择（只能定义一个）
#define MODEL_DILITHIUM_MODULAR_RED

// ========================================================================
// Data大小Configuration
// ========================================================================

#define KEY_SIZE 32
#define INPUT_SIZE 8

// ========================================================================
// TestKey
// ========================================================================

static const uint8_t test_key[KEY_SIZE] = {
    0x30, 0xe0, 0x6d, 0x33, 0x10, 0xef, 0x1a, 0xc5, 0xff, 0xaf, 0xa0, 0xed, 0x05, 0xd0, 0x6a, 0x8d,
    0xa5, 0xf3, 0xb0, 0x02, 0xfc, 0x22, 0x10, 0x98, 0x90, 0x9e, 0xeb, 0xd6, 0x7d, 0x0b, 0xca, 0xfb
};

// ========================================================================
// TestInputData
// ========================================================================

static const uint8_t test_inputs[NUM_TRACES * INPUT_SIZE] = {
    0x1d, 0x68, 0x45, 0xd6, 0x8c, 0xcf, 0x66, 0xe8,
    0xef, 0xc1, 0x1f, 0xa0, 0x31, 0x2f, 0x8a, 0x06,
    0xa0, 0x4a, 0xb1, 0xed, 0x74, 0xe6, 0x97, 0xe9,
    0xed, 0x4c, 0xda, 0xb5, 0x4e, 0xfc, 0xaa, 0xb0,
    0x8f, 0xf7, 0xe0, 0x5f, 0x0d, 0xbe, 0x4b, 0x7e,
    0x21, 0x4c, 0xe0, 0x78, 0x99, 0x8c, 0x5f, 0x43,
    0x40, 0xc0, 0x1b, 0xc3, 0xe5, 0x04, 0x83, 0x5a,
    0xa0, 0xdf, 0x96, 0xf3, 0xc7, 0xff, 0x40, 0xe5,
    0x27, 0xab, 0xc6, 0xa9, 0x45, 0xf3, 0x96, 0xdc,
    0xe0, 0x2b, 0x3d, 0x70, 0xfd, 0x33, 0xcb, 0x13
};

#endif // INTERMEDIATE_CONFIG_H
